# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName : zsj.py
# @Time     : 2024/4/21 22:16
# @Author   : Robot-Zsj
"""
description:

i:
CBEFDA CBAEDF

o:
ABDCEF
"""

post, mid = input().split()


def devideLR(post, mid, queue, ans):
    """
    本方法用于从后续遍历、中序遍历序列中分离出：根，以及其左、右子树的后序、中序遍历序列
    :param post: 后序遍历结果
    :param mid: 中序遍历结果
    :param queue: BFS的执行队列
    :param ans: 题解
    :return:
    """
    # 后续遍历的最后一个元素就是根
    rootEle = post[-1]
    # 将根加入题解
    ans.append(rootEle)
    # 在中序遍历中找到根的位置rootIdx，那么该位置左边就是左子树，右边就是右子树
    rootIdx = mid.find(rootEle)
    # 左子树长度，左子树是中序遍历的0~rootIdx-1范围，长度为rootIdx
    leftLen = rootIdx

    # 如果存在左子树，即左子树长度大于0
    if leftLen > 0:
        leftPost = post[:leftLen]
        leftMid = mid[:rootIdx]
        queue.append([leftPost, leftMid])

    if len(post) - 1 - leftLen > 0:
        rightPost = post[leftLen:-1]
        rightMid = mid[rootIdx + 1:]
        queue.append([rightPost, rightMid])


def getResult(post, mid):
    queue = []
    ans = []

    devideLR(post, mid, queue, ans)

    while len(queue) > 0:
        post, mid = queue.pop(0)
        devideLR(post, mid, queue, ans)
    return "".join(ans)


print(getResult(post, mid))
